// 获取 app 对象（唯一）
const app = getApp()
// app.globalData.movie_api_url

// 电影接口封装
function requestMovie(url, method = 'GET') {
  // 第一个参数： 函数，异步代码成功时调用，用来返回成功的数据
  // 第二个参数： 函数，异步代码失败时调用，用来返回失败的数据
  return new Promise(function (ok, err) {
    wx.request({
      url: app.globalData.movie_api_url + "/" + url + "?apikey=0b2bdeda43b5688921839c8ecb20399b",
      header: {
        "Content-Type": null
      },
      method,
      success: ok,
      fail: err
    })
  })
}

// 正在热映
function getInTheaters() {
  return requestMovie('movie/in_theaters')
}

// 即将上映
function getComming() {
  return requestMovie('movie/coming_soon')
}

// Tap250
function getTap() {
  return requestMovie('movie/top250')
}

// 口碑榜
function getWeekly() {
  return requestMovie('movie/weekly')
}

// 北美票房榜
function getUsbox() {
  return requestMovie('movie/us_box')
}

// 新片榜
function getNewMovies() {
  return requestMovie('movie/new_movies')
}

// 影片详情
function getMovieInfo(id) {
  return requestMovie('movie/subject/' + id)
}

// 阅读接口封装
function requestRead(url, method = 'GET') {
  return new Promise(function (ok, err) {
    wx.request({
      url: app.globalData.read_api_url + url,
      header: {
        "Content-Type": null
      },
      method,
      success: ok,
      fail: err
    })
  })
}

// 获取用户新闻频道
function getUserChannels() {
  return requestRead('/v1_0/user/channels')
}

// 获取某个频道下面的新闻
function getChannelArtivles(channelId, timestamp) {
  return requestRead(`/v1_1/articles?channel_id=${channelId}&timestamp=${timestamp}&with_top=1`)
}

// 获取文章详情
function getArticle(id) {
  return requestRead('/v1_0/articles/' + id)
}

// 导出
module.exports = {
  getInTheaters,
  getComming,
  getTap,
  getWeekly,
  getUsbox,
  getNewMovies,
  getMovieInfo,
  getUserChannels,
  getChannelArtivles,
  getArticle
}